Processing 5

Guarda todos los ejercicios en una carpeta. Comprímela al terminar la case y súbela. El próximo día, podrás descargarla, descomprimirla y continuar tu trabajo. En esta tarea sólo se puede subir un archivo.

Recuerda que cuando en una linea aparece // el programa no interpreta lo que hay desde ese punto hasta el final de la línea. Sirve para hacer comentarios A partir de ahora, todos tus programas deben empezar con un comentario que tenga tu nombre

Ejercicios

  1. Bifurcaciones condicionales

    Los programas tiene que poderse comportar de diferente manera en condiciones distintas. Para eso se usan las bifrucaciones condicionales. La sintaxis de una bifurcación es:

    if (condición){
    //instrucciones que se ejecutan cuando se cumple la condición
    }
    Consigue el siguiente programa:
  2. Ayuda:Debes partir del ejercicio 5 de la colección 3 en el que una bola caía una sola vez. Añade dentro de draw() una bifurcación condicional en la que si la posición de la bola es mayor que la altura de la ventana (momento en el que la bola saldría por abajo), la posición de la bola se hace cero (vuelve a estar arriba).

    if( y > height){
    y=0;
    }
  3. random()

    La función random devuelve números aleatorios. Si no se da ningún dato entre paréntesis, el número aleatorio podrá tener un valor entre cero y uno. Si se dan dos números, el número aletaorio tendrá un valor situado entre ambos

    random()  => devuelve un número aleatorio entre cero y uno)
    random(min, max) => devuelve un númro aleatorio entre min y max
    Consigue el siguiente programa:
  4. La idea es: si la posición y es mayor del alto, la y vuelve a valer cero y la x toma un valor aleatorio entre o y el ancho de la ventana x=random(o,width);

  5. Imágenes

    Processing permite trabajar con imágenes. Para ello, hay que añadir las imágenes a la carpeta del proyecto.

    Para usar imágenes debes escribir:

    Fuera de setup() y draw()

    PImage=nombre;

    en la zona setup()

    nombre= loadImage("archivo.png");

    En draw()

    image(nombre,x,y);// donde x,y es la posición de la imagen
    Consigue el siguiente programa:
  6. Tendrás que cargar la imagen de la manzana.

    Guarda el proyecto con el nombre ej5_3. Se creará una carpeta también llamada ej5_ej. Mete dentro der esa carpeta estas imágenes.

    Dentro de setup() escribe manzana=loadImage("manzana.png");.

    Fuera de setup() y draw() escribe Pimage=manzana;.

    Dentro de draw() escribe image(manzana,x,y); donde x e y funcionan igual que en el programa anterior.

  7. resize

    resize permite cambiar el tamaño de una imagen

    nombre.resize(ancho,alto);
    Consigue el siguiente programa (la cesta se mueve con el ratón):
  8. Tendrás que cargar la imagen de la manzana y de la cesta y redimensionarlas con resize para hacerlas más pequeñas. Por ejemplo con la manzana, dentro de setup() escribe manzana.resize(30,30);

  9. imageMode

    Permite definir el modo de imagen. con imageMode(CENTER); la posición de la imagen está definida en su centro.

    Consigue el siguiente programa. Observa que si cazas la manzana con la cesta, los puntos aumentan:
  10. Tendrás que crear una variable llamada puntos que inicialmente valga cero y que se incremente cada vez que la manzana esta a pequeña distancia del centro de la cesta. Tendrás que usar imageMode(CENTER) Dentro de steup() escribe esa instrucción.

    fuera de setup() y draw() int puntos=0;

    Cuando la manzana llega abajo, la distancia entre la manzana y la cesta es abs(x-mouseX) -valor absoluto de la diferencia entre la posición de la manzana x y de la cesta mouseX. Esto tiene que ser menor que la mitad de la cesta. Tendrás que meter un if dentro de otro if.

    Cuando la manzana cae dentro de la cesta la variable puntos aumenta en uno.

    Para ver el resultado de puntos puedes utilizar la instrucción text(); que ya conoces o println();

    println

    Podemos imprimir datos en la consola con la instrucción println(dato);; donde dato es lo que queremos imprimir. Dato puede ser un texto que hemos de escribir entre "comillas", o una variable. Si queremos escribir varias cosas las uniremos con el signo más +. Por ejemplo: println("la variable x vale:"+x);

    Si decides usar text(), para que se vea mejor, puedes hacer un rectángulo negro que ocupe la parte baja

  11. Consigue el siguiente programa. La posición x va cambiando un poco aleatoriamente a medida que cae la manzana
  12. else

    Cuando queremos que en una bifurcación se haga una cosa si se cumple la condición y otra si no se cumple usamos:

    if (condición){
    //instrucciones que se ejecutan cuando se cumple la condición
    }else{
    // instrucciones que se ejecutan cuando no se cumple la condición
    }
    Consigue el siguiente programa:
  13. Hay una variable llamada fallos que se incrementa cada vez que la manzana cae fuera de la cesta. Cuando hay 5 fallos, el programa termina. Hay además dos manzanas cayendo. Cuando el programa termina, puedes pinchar en la ventana para reiniciarlo